import java.util.Comparator;

/**
 * @Author 12629
 * @Description：
 */

/*class OuterClass {
    public int data1 = 1;
    private int data2 = 2;
    public static int data3 = 3;

    static class InnerClass {
        public int data4 = 4;
        private int data5 = 5;
        public static int data6 = 6;

        public void test() {
            OuterClass outerClass = new OuterClass();
            System.out.println(outerClass.data1);
            System.out.println(outerClass.data2);
            System.out.println(data3);
            System.out.println(data4);
            System.out.println(data5);
            System.out.println(data6);
            System.out.println("InnerClass::test()");
        }
    }
}

public class Test {
    public static void main(String[] args) {
        //InnerClass innerClass = new InnerClass();
        OuterClass.InnerClass innerClass = new OuterClass.InnerClass();

        innerClass.test();

    }
}*/


/*class OuterClass {
    public int data1 = 1;
    private int data2 = 2;
    public static int data3 = 3;

    public void func() {
        InnerClass innerClass = new InnerClass();
        System.out.println(innerClass.data5);
    }

    class InnerClass {

        public int data1 = 99;

        public int data4 = 4;
        private int data5 = 5;
        public static int data6 = 6;

        public void test() {
            //OuterClass.this 外部类的this
            System.out.println(OuterClass.this.data1);
            System.out.println(this.data1);
            System.out.println(data2);
            System.out.println(data3);
            System.out.println(data4);
            System.out.println(data5);
            System.out.println(data6);
            System.out.println("InnerClass::test()");
        }
    }
}

public class Test {
    public static void main(String[] args) {
        //InnerClass innerClass = new InnerClass();

        //OuterClass outerClass = new OuterClass();
        //OuterClass.InnerClass innerClass = outerClass.new InnerClass();


        OuterClass.InnerClass innerClass = new OuterClass().new InnerClass();
        innerClass.test();


    }
}*/

/*
class OuterClass {
    public void test() {
        System.out.println("OuterClass::test()");
    }
}

interface ITestAble {
    void test();
}
class Student {
    public int age;

}
public class Test {

    public static void main(String[] args) {

        ITestAble iTestAble = new ITestAble() {
            @Override
            public void test() {
                System.out.println("重写test()方法！！！！！");
            }
        };

        iTestAble.test();
        System.out.println("=====");

        Comparator<Student> comparator = new Comparator<Student>(){
            @Override
            public int compare(Student o1, Student o2) {
                return o1.age - o2.age;
            }
        };

        //comparator.compare();
    }


    public static void main2(String[] args) {

        OuterClass out = new OuterClass(){
            @Override
            public void test() {
                System.out.println("重写test方法！！！");
            }
        };

        out.test();


    }
    public static void main1(String[] args) {

        new OuterClass(){
            @Override
            public void test() {
                System.out.println("重写test方法！！！");
            }
        }.test();

    }
}
*/
class Out {

    public void func() {
        class Inner {
            public int data1;
        }
        //只能在方法当中使用
        Inner inner = new Inner();
        System.out.println(inner.data1);
    }
}
public class Test {
    public static void main(String[] args) {

    }
}

